﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Negocio.Clases_BL;
using Capa_Entidad;
public partial class Ventas_wfProgramacionListado : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            //ASPxButton3.Attributes.Add("language", "javascript");
            //ASPxButton3.Attributes.Add("onclick", "ShowMensaje();");
            //ASPxButton3.Attributes.Add("onclick", "return confirm('Esta Seguro de Elimanr el Registro seleccionado?');");
            dgListadoProg.GroupBy(dgListadoProg.Columns["Medico"]);
        }
       
    }
    //void ApplyLayout(int layoutIndex)
    //{
    //    dgListadoProg.BeginUpdate();
    //    try
    //    {
    //        dgListadoProg.ClearSort();
    //        switch (layoutIndex)
    //        {
    //            case 0:
    //                dgListadoProg.GroupBy(grid.Columns["Country"]);
    //                break;
    //            case 1:
    //                grdgListadoProgid.GroupBy(grid.Columns["Country"]);
    //                dgListadoProg.GroupBy(grid.Columns["City"]);
    //                break;
    //            case 2:
    //                dgListadoProg.GroupBy(grid.Columns["CompanyName"]);
    //                break;
    //        }
    //    }
    //    finally
    //    {
    //        dgListadoProg.EndUpdate();
    //    }
    //    dgListadoProg.ExpandAll();
    //}

    protected void ASPxButton1_Click(object sender, EventArgs e)
    {
        Session["Operacion"] = "C";//C de Crear
        Response.Redirect("wfProgramacion.aspx", true);
    }
    protected void ASPxButton2_Click(object sender, EventArgs e)
    {
        if (dgListadoProg.VisibleRowCount == 0)

        {
            //Util.showmsg("No hay Informacion!!!", this.Page);
            lblMensaje.Text = "No hay Informacion!!!";
            ScriptManager.RegisterStartupScript(this, typeof(Page), "scriptkey", "pcMensaje.Show();", true);
            return;
        }

        Session["Operacion"] = "M";//M de Modificar
        Session["ID_Prog"] = (String)dgListadoProg.GetRowValues(dgListadoProg.FocusedRowIndex, new String[] { "ID" });
        Response.Redirect("wfProgramacion.aspx", true);
      
    }
    //protected void ASPxButton3_Click(object sender, EventArgs e)
    //{
    //    if (dgListadoProg.VisibleRowCount == 0)
    //    {
    //        Util.showmsg("No hay Informacion!!!", this.Page);
    //        return;
    //    }
    //    //Int32 i=0;
      
    //       // dgListadoProg.GetSelectedFieldValues("ID");
    //        List<Object> selectItems = dgListadoProg.GetSelectedFieldValues("ID");
    //        foreach (object selectItemId in selectItems)
    //        {
    //            Eliminar_Reg((String)selectItemId);
    //        }
           

    //        Util.showmsg("Regsitro(s) eliminado(s)!!!", this.Page);

    //        dgListadoProg.DataBind();
    //        dgListadoProg.Selection.UnselectAll();
    //       // Response.Redirect("wfProgramacionListado.aspx", true);
                   
    //}

    void Eliminar_Reg(String ID_Programacion)
    {
        clsPrm_Programacion_MedicaBL BL_Programacion_medica = new clsPrm_Programacion_MedicaBL();
        PRM_PROGRAMACION_MEDICA Ent_Prg_Med = new PRM_PROGRAMACION_MEDICA();
        clsAdmCitaBL CitaBL = new clsAdmCitaBL();
        var c = from P in CitaBL.listar()
                where P.PRM_ID_PROGRAMACION ==ID_Programacion
                select P;
        if (c.Count() > 0)
        {
            //Util.showmsg("No se puede eliminar programacion Nro. : " +  ID_Programacion + " por que esta asignada a una Cita", this.Page);
            lblMensaje.Text = "No se puede eliminar programacion Nro. : " +  ID_Programacion + " por que esta asignada a una Cita";
            ScriptManager.RegisterStartupScript(this, typeof(Page), "scriptkey", "pcMensaje.Show();", true);
            return;
        }


        Ent_Prg_Med.PRM_ID_PROGRAMACION = ID_Programacion;

        if (BL_Programacion_medica.Eliminar(Ent_Prg_Med))
        {
            ObjectDataSource1.DataBind();
        }
        else
        {
            //Util.showmsg("Error: No Se pudo Eliminar la Programación", this.Page);
            lblMensaje.Text = "Error: No Se pudo Eliminar la Programación";
            ScriptManager.RegisterStartupScript(this, typeof(Page), "scriptkey", "pcMensaje.Show();", true);
        }
    }


    protected void btnAnulacion_Click(object sender, EventArgs e)
    {
        if (dgListadoProg.VisibleRowCount == 0)
        {
            //Util.showmsg("No hay Información!!!", this.Page);
            lblMensaje.Text = "No hay Información!!!";
            ScriptManager.RegisterStartupScript(this, typeof(Page), "scriptkey", "pcMensaje.Show();", true);
            return;
        }


        List<Object> selectItems = dgListadoProg.GetSelectedFieldValues("ID");

        foreach (object selectItemId in selectItems)
        {
            
            Eliminar_Reg((String)selectItemId);
        }

        //Util.showmsg("Programación(s) eliminada(s)!!!", this.Page);
        lblMensaje.Text = "Programación(s) eliminada(s)!!!";
        ScriptManager.RegisterStartupScript(this, typeof(Page), "scriptkey", "pcMensaje.Show();", true);

        dgListadoProg.DataBind();
        dgListadoProg.Selection.UnselectAll();
    }
}